Method, system, server processing system and computer readable medium for managing inventory

ABSTRACT

Disclosed is a method, server processing system, system and computer readable medium for managing inventory. In one aspect, the method includes, in a server processing system, steps of: receiving, from a plurality of merchant devices including a first and second merchant device associated with a first and second merchant respectively, inventory data and a plurality of merchant locations which are stored in a data store; receiving, from the first merchant device, data indicative of a requested good that is not stocked by the first merchant; determining that the requested good is stocked by a second merchant using the inventory data of one or more merchants that are located within a proximity of the location of the first merchant; and transferring, to the second merchant device, a request to facilitate provision of the requested good to a customer of the first merchant.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a U.S. National Stage filing under 35 U.S.C. § 119,based on and claiming benefits of and priority to Singapore PatentApplication No. 10201703945W filed on May 15, 2017. The entiredisclosure of the above application is incorporated herein by reference.

TECHNICAL FIELD

The present invention relates to a method, server processing system andcomputer readable medium for managing inventory between merchants.

BACKGROUND

A common problem that merchant's face relates to the management ofinventory, particularly in relation to inventory which may beperishable. Merchants may be required to predict sales of the perishableitems in order to order an appropriate amount of inventory. In the eventthat a merchant has under-predicted future sales, the merchant may runout of inventory resulting in a loss of sales. In the event that amerchant has over-predicted future sales, the merchant may haveinventory that perishes which can no longer be sold.

The reference in this specification to any prior publication (orinformation derived from it), or to any matter which is known, is not,and should not be taken as, an acknowledgement or admission or any formof suggestion that prior publication (or information derived from it) orknown matter forms part of the common general knowledge in the field ofendeavour to which this specification relates.

SUMMARY

In a first aspect there is provided a method for managing inventory, themethod including, in a server processing system:

receiving, from a plurality of merchant devices including a first andsecond merchant device associated with a first and second merchantrespectively, inventory data and a plurality of merchant locations whichare stored in a data store;

receiving, from the first merchant device, data indicative of arequested good that is not stocked by the first merchant;determining that the requested good is stocked by a second merchantusing the inventory data of one or more merchants that are locatedwithin a proximity of the location of the first merchant; and

transferring, to the second merchant device, a request to facilitateprovision of the requested good to a customer of the first merchant.

In a second aspect there is provided a server processing system formanaging inventory, wherein the server processing system is configuredto:

receive, from a plurality of merchant devices including a first andsecond merchant device associated with a first and second merchantrespectively, inventory data and a plurality of merchant locations whichare stored in a data store;

receive, from the first merchant device, data indicative of a requestedgood that is not stocked by the first merchant;determine that the requested good is stocked by a second merchant usingthe inventory data of one or more merchants that are located within aproximity of the location of the first merchant; and

transfer, to the second merchant device, a request to facilitateprovision of the requested good to a customer of the first merchant.

In a third aspect there is provided a non-transitory computer storagemedium including executable instructions which, when executed by one ormore processors, configure a server processing system for managinginventory, wherein the server processing system is configured to:

receive, from a plurality of merchant devices including a first andsecond merchant device associated with a first and second merchantrespectively, inventory data and a plurality of merchant locations whichare stored in a data store;

receive, from the first merchant device, data indicative of a requestedgood that is not stocked by the first merchant;determine that the requested good is stocked by a second merchant usingthe inventory data of one or more merchants that are located within aproximity of the location of the first merchant; and

transfer, to the second merchant device, a request to facilitateprovision of the requested good to a customer of the first merchant.

In a fourth aspect there is provided a system including:

the server processing system according to the second aspect; and

the plurality of merchant devices including the first merchant deviceand the second merchant device.

BRIEF DESCRIPTION OF THE FIGURES

Example embodiments should become apparent from the followingdescription, which is given by way of example only, of at least onepreferred but non-limiting embodiment, described in connection with theaccompanying figures.

FIG. 1 illustrates a functional block diagram of an example processingsystem that can be utilised to embody or give effect to a particularembodiment;

FIG. 2 illustrates an example network infrastructure that can beutilised to embody or give effect to a particular embodiment;

FIG. 3 is a system diagram representing an example system for managinginventory;

FIG. 4 is a flowchart representing an example method performed by aserver processing system for managing inventory;

FIG. 5 is a schematic diagram of an example merchant device; and

FIG. 6 is a flowchart representing an example method of a merchantsupplying data to a server for storage in a data store includinginventory data;

FIG. 7 is a flowchart representing an example method of a merchantrequesting provision of a requested good by another merchant; and

FIG. 8 is a flowchart representing a method of a server processingsystem performing bulk settlement of merchant to merchant sales over aperiod of time.

DETAILED DESCRIPTION

The described method and system enables a merchant to be able tofacilitate a sale of one or more goods which are not in stock byarranging for the provision of the requested inventory item by anothermerchant. This minimises a likelihood of disappointment for a consumeras a desired good is likely to be available. Furthermore, individualmerchants need not be overly concerned about maintaining (and payingfor) storage place for storage as their respective stock levels can bereduced if there are “shared” stocks of goods amongst groups ofmerchants. In addition, the optimisation of stock levels for eachrespective merchant can minimise wastage of goods, particularly forgoods with a shelf life.

In general terms, whenever the consumer visits a merchant which does notpossess stocks of a desired good, a preferably close-by location ofanother merchant which possesses the desired good will be providedinstead, and the consumer still proceeds to make payment at themerchant, but will need to obtain the desired good from the othermerchant, either by hand, or by arranging to have the desired gooddelivered to the consumer.

The following modes, given by way of example only, are described inorder to provide a more precise understanding of the subject matter of apreferred embodiment or embodiments. In the figures, incorporated toillustrate features of an example embodiment, like reference numeralsare used to identify like parts throughout the figures.

Particular embodiments of the present invention can be realised using aprocessing system, an example of which is shown in FIG. 1. Inparticular, the processing system 100 generally includes at least oneprocessor 102, or processing unit or plurality of processors, memory104, at least one input device 106 and at least one output device 108,coupled together via a bus or group of buses 110. In certainembodiments, input device 106 and output device 108 could be the samedevice. An interface 112 also can be provided for coupling theprocessing system 100 to one or more peripheral devices, for exampleinterface 112 could be a PCI card or PC card. At least one storagedevice 114 which houses at least one database 116 can also be provided.The memory 104 can be any form of memory device, for example, volatileor non-volatile memory, solid state storage devices, magnetic devices,etc. The processor 102 could include more than one distinct processingdevice, for example to handle different functions within the processingsystem 100. The processor 102 also includes an availability engine 103which is configured to determine stock levels of specific goods atrespective merchants. The availability engine 103 can attend to requestsof inventory levels at various merchants and provide requisiteinformation on respective inventory levels.

Input device 106 receives input data 118 and can include, for example, akeyboard, a pointer device such as a pen-like device or a mouse, audioreceiving device for voice controlled activation such as a microphone,data receiver or antenna such as a modem or wireless data adaptor, dataacquisition card, etc. Input data 118 could come from different sources,for example keyboard instructions in conjunction with data received viaa network. Output device 108 produces or generates output data 120 andcan include, for example, a display device or monitor in which caseoutput data 120 is visual, a printer in which case output data 120 isprinted, a port for example a USB port, a peripheral component adaptor,a data transmitter or antenna such as a modem or wireless networkadaptor, etc. Output data 120 could be distinct and derived fromdifferent output devices, for example a visual display on a monitor inconjunction with data transmitted to a network. A user could view dataoutput, or an interpretation of the data output, on, for example, amonitor or using a printer. The storage device 114 can be any form ofdata or information storage means, for example, volatile or non-volatilememory, solid state storage devices, magnetic devices, etc.

In use, the processing system 100 is adapted to allow data orinformation to be stored in and/or retrieved from, via wired or wirelesscommunication means, the at least one database 116 and/or the memory104. The interface 112 may allow wired and/or wireless communicationbetween the processing unit 102 and peripheral components that may servea specialised purpose. The processor 102 receives instructions as inputdata 118 via input device 106 and can display processed results or otheroutput to a user by utilising output device 108. More than one inputdevice 106 and/or output device 108 can be provided. It should beappreciated that the processing system 100 may be any form of terminal,server, specialised hardware, or the like. The interface 112 generallyenables results of the availability engine 103 to be transmitted to amerchant server(s) and to also receive requests for use of theavailability engine 103.

The processing device 100 may be a part of a networked communicationssystem 200, as shown in FIG. 2. Processing device 100 could connect tonetwork 202, for example the Internet or a WAN. Input data 118 andoutput data 120 could be communicated to other devices via network 202.Other terminals, for example, thin client 204, further processingsystems 206 and 208, notebook computer 210, mainframe computer 212, PDA214, pen-based computer 216, server 218, etc., can be connected tonetwork 202. A large variety of other types of terminals orconfigurations could be utilised. The transfer of information and/ordata over network 202 can be achieved using wired communications means220 or wireless communications means 222. Server 218 can facilitate thetransfer of data between network 202 and one or more databases 224.Server 218 and one or more databases 224 provide an example of aninformation source.

Other networks may communicate with network 202. For example,telecommunications network 230 could facilitate the transfer of databetween network 202 and mobile or cellular telephone 232 or a PDA-typedevice 234, by utilising wireless communication means 236 andreceiving/transmitting station 238. Satellite communications network 240could communicate with satellite signal receiver 242 which receives datasignals from satellite 244 which in turn is in remote communication withsatellite signal transmitter 246. Terminals, for example furtherprocessing system 248, notebook computer 250 or satellite telephone 252,can thereby communicate with network 202. A local network 260, which forexample may be a private network, LAN, etc., may also be connected tonetwork 202. For example, network 202 could be connected with Ethernet262 which connects terminals 264, server 266 which controls the transferof data to and/or from database 268, and printer 270. Various othertypes of networks could be utilised.

The processing device 100 is adapted to communicate with otherterminals, for example further processing systems 206, 208, by sendingand receiving data, 118, 120, to and from the network 202, therebyfacilitating possible communication with other components of thenetworked communications system 200.

Thus, for example, the networks 202, 230, 240 may form part of, or beconnected to, the Internet, in which case, the terminals 206, 212, 218,for example, may be web servers, Internet terminals or the like. Thenetworks 202, 230, 240, 260 may be or form part of other communicationnetworks, such as LAN, WAN, Ethernet, token ring, FDDI ring, star, etc.,networks, or mobile telephone networks, such as GSM, CDMA or 3G, etc.,networks, and may be wholly or partially wired, including for exampleoptical fibre, or wireless networks, depending on a particularimplementation.

Referring to FIG. 3, there is shown an example system 300 for managinginventory.

In particular, the system 300 includes a server processing system 310(similar with the processing system 100) in communication with aplurality of merchant devices 320 via one or more networks 340. Theserver processing system 310 includes or has access to a data store 330.Each merchant device 320 is associated with a merchant 325. Theplurality of merchant devices 320 includes a first merchant device 320Aassociated with a first merchant 325A and a second merchant device 320Bassociated with a second merchant 325B. Whilst in FIG. 3 the pluralityof merchants 325 is shown as two merchants 325A, 325B and the pluralityof merchant devices 320 is shown as two merchant devices 320A, 320B, itwill be appreciated that the system can include more than two merchants325 and more than two merchant devices 320.

Operation of the system 300 will now be described with reference to FIG.4 which shows a flowchart representing a method 400 performed by theserver processing system 310 for managing inventory.

In particular, at step 410 the method 400 includes the server processingsystem 310, particularly an availability engine of the system 310,receiving, from the plurality of merchant devices 320, inventory dataand a plurality of merchant locations which are stored in a data store330.

At step 420, the method 400 includes the server processing system 310receiving, via an interface of the system 310, from the first merchantdevice 320A, data indicative of a requested good that is not stocked bythe first merchant 325A.

At step 430, the method 400 includes the server processing system 310,particularly the availability engine of the system 310, determining thatthe requested good is stocked by a second merchant 325B using theinventory data of one or more merchants 325 that are located within aproximity of the location of the first merchant 325A.

At step 440, the method 400 includes the server processing system 310transferring, to the second merchant device 320B, a request tofacilitate provision of the requested good to a customer of the firstmerchant 325A.

It will be appreciated that the above described arrangement provides anumber of benefits over traditional approaches. Advantageously, thedescribed method 400 and system 300 enable a merchant to still be ableto facilitate a sale of one or more goods which are not stocked byarranging for the provision of the requested inventory item by anothermerchant.

Referring to FIG. 5 there is shown a schematic diagram of an example ofa merchant device 320. In particular, the merchant device 320 may be ahandheld computer device such as a smart phone or a PDA such as onemanufactured by Apple™, LG™, HTC™, Research In Motion™, or Motorola™.The merchant device 320 may include a mobile computer such as a tabletcomputer. As shown, the merchant device 320 includes a display 502,non-volatile memory 503, random access memory (“RAM”) 504, one or moreprocessing components 501, a transceiver component 505 that includes oneor more transceivers and user controls 507, a location receiver 510 anda camera module 512 coupled together in electronic communication via abus 506.

Although the components depicted in FIG. 5 represent physicalcomponents, FIG. 5 is not intended to be a hardware diagram; thus manyof the components depicted in FIG. 5 may be realized by commonconstructs or distributed among additional physical components.Moreover, it is certainly contemplated that other existing and yet-to-bedeveloped physical components and architectures may be utilized toimplement the functional components described with reference to FIG. 5.

The display 502 generally operates to provide a presentation of contentto a user, and may be realized by any of a variety of displays (e.g.,CRT, LCD, HDMI, micro-projector and OLED displays). And in general, thenon-volatile memory 303 functions to store (e.g., persistently store)data and executable code including code that is associated with thefunctional components of a browser component and applications, and inone example, an inventory sharing network application 508 executing onthe merchant device 320. In some embodiments, for example, thenon-volatile memory 503 includes bootloader code, modem software,operating system code, file system code, and code to facilitate theimplementation of one or more portions of the inventory sharing networkapplication 508 as well as other components well known to those ofordinary skill in the art that are not depicted for simplicity.

In many implementations, the non-volatile memory 503 is realized byflash memory (e.g., NAND or ONENAND memory), but it is certainlycontemplated that other memory types may be utilized as well. Althoughit may be possible to execute the code from the non-volatile memory 503,the executable code in the non-volatile memory 503 is typically loadedinto RAM 504 and executed by one or more of the processing components501.

The one or more processing components 501 in connection with RAM 504generally operate to execute the instructions stored in non-volatilememory 503 to effectuate the functional components. As one of ordinarilyskill in the art will appreciate, the one or more processing components501 may include a video processor, modem processor, DSP, graphicsprocessing unit (GPU), and other processing components.

The transceiver component 505 includes one or more transceiver chains,which may be used for communicating with external devices via wirelessnetworks. Each of the one or more transceiver chains may represent atransceiver associated with a particular communication scheme. Forexample, each transceiver may correspond to protocols that are specificto local area networks, cellular networks (e.g., a CDMA network, a GPRSnetwork, a UMTS networks), and other types of communication networks.

Referring to FIG. 6 there is shown a flowchart representing an examplemethod 600 of a merchant 325 supplying data, including inventory data,to the server processing system 310 for storage in the data store 330.

In particular, step 605 the method 600 includes the merchant 325operating the merchant device 320 to transfer registration details tothe server processing system 310. In particular, the registrationdetails can include the location of the merchant's premises. In oneform, the merchant device 320 is configured by the application 508 torequest a current location using the location receiver 510 which ispresented to the merchant 325 via the display 502 requestingconfirmation via an input device 507. In the event that the merchant islocated at a different location to the business premises of the merchant325, the merchant 325 can interact with the application 508 via theinput device 507 to provide a different location of the merchant 325.Once the correct details are supplied, the merchant 325 can interactwith the application 508 requesting transfer of the registration detailsto the server processing system 310 for storage in the data store 330.The data store 330 is generally provided in the form of a centraldatabase. In response to receiving the registration details, the serverprocessing system 310 can be configured to create a new entry in thecentral database 330.

At step 610, the method 600 includes the merchant 325 selecting, usingthe merchant device 320 executing the application 508, one or morepreferences including a proximity of an inventory network for themerchant 325. In particular, the proximity can be defined as a distancesuch as a radius from the merchant's location, wherein one or more othermerchants 325 which are located within the proximity are part of themerchant inventory network that can be used to facilitate provision of arequested good which the merchant 325 may not currently stock for onereason or another. In one form, the application 508 can suggest adefault proximity, such as 1 kilometer. In the event the merchant ishappy with the default proximity, the server processing system 310stores in the merchant's entry in the central database the defaultproximity.

However, in some instances, the default proximity may not beappropriate. For example, the default proximity may not encompass asuitable number of other merchants which are part of the inventorysystem managed by the server processing system 310. In particular, theserver processing system 310 may conduct a search of the centraldatabase 330 to determine any merchant entries which are located withinthe default proximity and transfer data plotting the other identifiedmerchants on a map interface for the merchant 325 to review. The mapinterface map present a circle representing the inventory networkproximity centred about the merchant's location with other merchantswhich are located within the proximity which are also registered withthe inventory system being highlighted by an icon or marker within thecircle on the map. In the event that the merchant 325 would like toadjust the proximity, the merchant 325 can interact with the mapinterface via the one or more user controls 507 such as a touch screento graphically adjust the size of the proximity.

For example, the merchant 325 may select a portion of the circle anddrag the circle inwards toward the merchant location to contract theradial distance defining the proximity or drag the circle outwards awayfrom the merchant location to expand the radial distance defining theproximity. Upon the proximity being adjusted by the user, the adjustedproximity is transferred back to the server processing system 310 todetermine the one or more other merchants 325 which are located in theadjusted proximity which is transferred back to the merchant device 310for presentation in the map interface to the merchant 325. The proximitycan be adjusted a number of times until the merchant is satisfied withthe defined proximity. It will be appreciated that other preferences mayalso be defined by the merchant.

At step 615, the preference data including the defined proximity istransferred to the server processing system 310 for storage in themerchant's entry in the central database 330.

At step 620, the method 600 includes the merchant 325 scanning a barcodeof a good using the camera module 512 of the merchant device 320. Inparticular, the application 508 may present an image capturing interfaceto capture an image of the barcode of the good. The merchant 325 canselect a button of the image capturing interface to capture an image ofthe barcode. Alternatively, the application 508 can continually analysean image/video feed provided by the camera module 512 to determine ifthe barcode of the good is orientated appropriately for the barcode tobe analysed correctly, wherein upon the detection of the correctorientation of the barcode, the application 508 automatically capturesan image of the barcode using the camera module 512. The application 508then automatically performs image analysis or character recognition todetermine an identifier, such as a Unique Product Code (UPC), EAN/UCC-13code, or the like which is represented by the barcode of the good.

In the event that the barcode is not captured correctly, the merchant325 may be requested to try and capture the barcode again using thecamera module 512 of the merchant device 320. However, in the event thatthe identifier is determined by the analysis performed by the merchantdevice 320, the merchant device 320 can transfer a request to the serverprocessing system 310 operating a barcode lookup service or to anotherprocessing system operating a barcode lookup service to determinedetails of the scanned good. Details of the scanned good can then becommunicated back to the merchant device 320 for formatting andpresentation to the merchant 325 within an interface of the application508. The merchant 325 can then check the returned details to confirmthat the details of the good are correct. If the details are correct themerchant 325 can provide feedback to continue to step 625. If thedetails are incorrect, the merchant 325 can interact with theapplication 508 to correct the details using the input device 507 andthen proceed to step 625.

At step 625, the method 600 includes the merchant 325 providing pricedata in relation to the scanned good. In particular, the merchant isrequested to provide a merchant selling price which is the cost that themerchant is willing to sell the good to another merchant, the cost priceof the good and the retail price.

At step 630, the method 600 includes the merchant inputting, using theinput device 507 of the merchant device 320, an inventory amount for thegood. For example, instead of scanning every instance of a good, themerchant 325 can input an inventory amount indicative of the number ofinstances of the good that is in stock.

At step 635, the method 600 includes the merchant device 320transferring inventory data indicative of the scanned good, theinventory amount and the price data, to the server processing system 310for storage in the central database 310, and also for processing at theavailability engine.

At step 640, the method 600 includes the merchant 325 indicating whetherone or more further goods need to be added to the inventory data for themerchant. In the event that one or more further goods need to bescanned, the method 600 proceeds back to step 620 to repeat steps 620 to640 until all goods have been scanned and stored in the central database330 by the server processing system 310. In the event that no furthergoods need to be scanned, the method 600 ends.

Referring to FIG. 7 there is shown a flowchart representing an examplemethod 700 of the merchant 325A requesting provision of a requested goodby another merchant 325B.

In particular, at step 705, the method 700 includes a customer visitingthe premises of a merchant 325A. At step 710, the merchant inputs intothe merchant device a good requested by the customer.

At step 715, the method 700 includes determining, using the application508, whether the merchant 325 has the requested good in stock. In oneform, the merchant device 325 maintains a local copy in memory 503 ofthe merchant's inventory data such the merchant device 325 can conduct asearch for the request good via the local copy of the merchant'sinventory data. However, in other instances, data indicative of the good(i.e. a product name) is transferred to the server processing system 310to search the inventory data of the merchant via the availabilityengine. Results of either search are presented via the display 502 ofthe merchant device 320.

In the event that the merchant 325 stocks the requested good, the method700 proceeds to step 720 to accept payment from the customer and toprovide the good to the customer or to deliver the good to a customerdefined location.

In the event of an unsuccessful determination to step 715, the method700 proceeds to step 725 which includes the merchant device 320transferring an inventory network search request to the serverprocessing system 310. In particular, in response to a negativedetermination at step 715, the method 700 may automatically proceed tostep 725. However, in other arrangements, the merchant 325 may berequested to confirm via the interface of the application 508 whether aninventory network search request is to be performed in relation to therequested good.

At step 730, the method 700 includes the server processing system 310determining whether one or more other merchants within the definedproximity stock the request good. In particular, the server processingsystem 310 determines the one or more other merchants which are locatedwithin the proximity. The one or more other merchants which are part ofthe merchant's inventory network can already be stored in the centraldatabase 330 for the merchant 325, and thus the server processing systemretrieves from the central database 330 data indicative of the one ormore other merchants. Once the one or more other merchants of themerchant's inventory network are determined, the server processingsystem 310 searches the inventory data for the one or more othermerchants to determine if any of the other merchants stock the requestedgood.

At step 735, the method 700 includes the server processing system 310transferring search result data to the merchant device 320. The searchresult data may be indicative of any other merchant which stocks therequested good based on the inventory data stored in the centraldatabase 330, the inventory amount of the request good stocked by eachother merchant, the merchant selling price of the requested good, andthe distance between each other merchant and the merchant's location.

At step 740, the method 700 includes the merchant device 320 displayingthe search result data. In one form, at least some of the search resultsare presented within a map interface. In particular, markers may bepresented within a map showing the merchant's inventory networkproximity and a marker representing each other merchant located withinthe proximity which stocks the requested good. Each marker on theinterface can include the name of the other merchant, the merchant saleprice, the inventory amount of the requested good, and a distance fromthe merchant's premises. Alternatively, only a portion of this data ispresented by each marker until highlighted. For example, the preferencedata for the merchant may define that the merchant selling price is tobe presented by each marker on the map. Upon selection of one of themarkers from the map interface, the other information provided by theserver processing system for the selected other merchant is presented tothe merchant. Additionally or alternatively, the interface presentingthe map interface can also include a tabular list with the othermerchants which are sorted according to one or more criteria definedwithin preference settings of the merchant. For example, the merchantmay want the other merchants sorted according to merchant selling price.Alternatively, the merchant may want the other merchants sortedaccording to distance from the merchant. Alternatively, the merchant maydefine a rule which sorts the other merchants according to a weightedcombination of merchant selling price and distance. Alternatively, themerchant may define a rule which sorts the other merchants according todelivery costs of each merchant.

At step 745, the method 700 includes the merchant 325 selecting one ofthe other merchants presented within the search results interface toprovide the requested good to the customer. In particular, uponselecting one of the markers from the map interface, a button may bepresented to the merchant allowing the merchant to send a request to theselected merchant to facilitate the provision of the requested good tothe customer. Additionally, the merchant 325 can interact with theapplication interface to indicate whether the requested good is to becollected by the customer from the premises of the selected othermerchant, delivered by the selected other merchant to the customer atthe merchant's premises, or delivered to a location specified by thecustomer.

At step 750, the method 700 includes the merchant device 320transferring the selected other merchant to the server processing system310. Additionally, the request can be indicative of whether therequested good is to be collected by the customer from the premises ofthe selected other merchant, delivered by the selected other merchant tothe customer at the merchant's premises, or delivered to a locationspecified by the customer.

At step 755, the method 700 includes the server processing system 310transferring a request to the other merchant device of the selectedother merchant and records in the data store a merchant to merchantsale. In particular, the merchant is charged according to the merchantprice defined by the selected other merchant for the requested good. Therequest is indicative of the requested good and whether the requestedgood is to be collected by the customer from the premises of theselected other merchant, delivered by the selected other merchant to thecustomer at the merchant's premises, or delivered to a locationspecified by the customer.

At step 760, the method 700 includes the merchant 325 accepting paymentfrom the customer. The amount that is charged may be the othermerchant's retail price which is retrieved from the central database 330and transferred to the merchant device 320 for arranging payment.However, it will be appreciated that a default profit margin may becharged by the merchant.

At step 765, the method 700 includes the selected other merchantfacilitating the provision of the requested good to the customer. Forexample, the requested good may be collected by the customer from thepremises of the selected other merchant, delivered by the selected othermerchant to the customer at the merchant's premises, or delivered to alocation specified by the customer.

It will be appreciated that is some circumstances steps 760 and 765 canbe swapped as payment to the merchant may only be performed uponreceiving the requested good.

It will be appreciated that the customer may require a particular amountof the good. As such, the search request may only return one or moreother merchants which have the requested amount in stock. Alternatively,the merchant 325 can select multiple other merchants to provide portionsof the requested amount of the requested good.

Referring to FIG. 8 there is shown a flowchart representing a method 800of a server processing system 310 performing bulk settlement of merchantto merchant sales over a predefined period of time. In a preferredembodiment, the predefined period of time is a day.

In particular, at step 810, the method 800 includes the serverprocessing system 310 determining, after the predefined period of timeand for each merchant, an amount payable or receivable from each othermerchant within proximity based on merchant to merchant sales. Forexample, a merchant may have purchased $100 of goods from a firstmerchant, sold $150 of goods to the first merchant, purchased $500 ofgoods from a second merchant, sold $200 of goods to the second merchant,purchased $200 of goods from a third merchant, and sold $50 of goods tothe third merchant. It will be appreciated that the amounts purchasedand sold preferably include multiple transactions, wherein only a bulksettlement for the plurality of transactions can be performed forefficiency purposes. The server processing system determines an amountpayable or receivable for the merchant in relation to the first, secondand third merchants. In this particular example, the amounts are $50receivable from the first merchant (i.e. $150−100), $300 payable to thesecond merchant (i.e. $200−$500), and $150 receivable from the thirdmerchant ($200−$50).

At step 820, the method 800 includes the server processing system 310determining a net amount payable or receivable for the merchant based onthe amounts payable or receivable for the other merchants. Continuingwith the above example, the merchant is required to pay $100($50−$300+$150=−$100) in total to the other merchants.

At step 820, the method 800 includes the server processing system 310facilitating transfer of funds based on the net amount determined forthe merchant. Continuing with the example, the server processing system310 can facilitate debiting the merchant's account for $100, such as acredit card or the like, with the net amount. The amount charged mayalso include a fee charged by the administrator of the server processingsystem 310. It will be appreciated that this process is advantageous asonly a single administrative fee is charged in relation to the netamount payable or receivable rather than an administrative fee beingcharged for processing each merchant to merchant sale.

The server processing system 310 can be configured to receive, from atleast some of the merchant devices, sales data. In particular, the salesdata includes merchant to merchant sales. In addition, when a merchantsells a good that is in stock, the merchant can interact with theapplication 508 executing on the merchant device 320 to indicate to theserver processing system 310 that a sale has occurred. In response toreceiving sales data, the server processing system 310 updates theinventory data of the relevant merchants according to the sales data.

The sales data that is received by the server processing system 310 canbe stored in the data store 330 for at least some of the merchants. Theserver processing system 310 can be configured to receive, from one ofthe merchant devices 320, a request for anonymous sales data for the oneor more merchants located within the proximity of the respectivemerchant location. In response, the server processing system 310generates, using the sales data stored in the data store and theproximity of the requesting merchant, anonymous sales data. The serverprocessing system 310 then transfers the anonymous sales data to therespective merchant device 320 of the requesting merchant 325.

It will be appreciated that over time as a merchant receives newinventory, steps 620 to 640 can be repeatedly executed in order to addnew products to the inventory data of the merchant or t update inventoryamounts for existing products in the inventory data.

It will be appreciated that the merchants 325 are independent merchants.

Throughout this specification and claims which follow, unless thecontext requires otherwise, the word “comprise”, and variations such as“comprises” or “comprising”, will be understood to imply the inclusionof a stated integer or group of integers or steps but not the exclusionof any other integer or group of integers.

Persons skilled in the art will appreciate that numerous variations andmodifications will become apparent. All such variations andmodifications which become apparent to persons skilled in the art,should be considered to fall within the spirit and scope that theinvention broadly appearing before described.

1. A method for managing inventory, the method including, in a serverprocessing system: receiving, from a plurality of merchant devicesincluding a first and second merchant device associated with a first andsecond merchant location respectively, inventory data and a plurality ofmerchant locations which are stored in a data store; receiving, from thefirst merchant device, data indicative of a requested good that is notimmediately deliverable at the first merchant location; determining thatthe requested good is immediately deliverable at the second merchantlocation using the inventory data of one or more merchants that arelocated within a proximity of the first merchant location; andtransferring, to the second merchant device, a request to facilitateprovision of the requested good to a customer of the first merchantlocation.
 2. The method according to claim 1, wherein the methodincludes receiving, from each merchant device, a merchant sale price foreach good immediately deliverable by the respective merchant, whereinthe customer of the first merchant location is charged the respectivemerchant price defined at the second merchant location for thefacilitating the provision of the requested good to the customer.
 3. Themethod according to claim 1, wherein the method includes: receiving,from at least some of the merchant devices, sales data; and updating theinventory data of the at least some of the merchant devices according tothe sales data.
 4. The method according to claim 3, wherein the methodincludes: storing the sales data in the data store; and receiving, fromone of the merchant devices, a request for anonymous sales data for theone or more merchants located within the proximity of the respectivemerchant location; generating, using the sales data stored in the datastore and the proximity of the requesting merchant, anonymous salesdata; and transferring the anonymous sales data to the respectivemerchant device of the requesting merchant.
 5. The method according toclaim 1, wherein the method includes: determining that multiple merchantlocations, have the requested good which is immediately deliverable;transferring, to the first merchant device, data indicative of themultiple merchants for presentation in a map interface; and receiving,from the first merchant device, a selection of the second merchantlocations for facilitating the provision of the request good.
 6. Themethod according to claim 1, wherein the method includes receiving theproximity from the first merchant device, wherein the proximity is adistance defined by the first merchant from the first merchant location.7. The method according to claim 1, wherein the first merchant locationand the second merchant location are at different outlets of a singlemerchant.
 8. A server processing system for managing inventory, whereinthe server processing system is configured to: receive, from a pluralityof merchant devices including a first and second merchant deviceassociated with a first and second merchant location respectively,inventory data and a plurality of merchant locations which are stored ina data store; receive, from the first merchant device, data indicativeof a requested good that is not immediately deliverable at the firstmerchant location; determine that the requested good is immediatelydeliverable at the second merchant location using the inventory data ofone or more merchants that are located within a proximity of the firstmerchant location; and transfer, to the second merchant device, arequest to facilitate provision of the requested good to a customer ofthe first merchant location.
 9. The server processing system accordingto claim 8, wherein the server processing system is configured toreceive, from each merchant device, a merchant sale price for each goodimmediately deliverable by the respective merchant, wherein the customerof the first merchant location is charged the respective merchant pricedefined at the second merchant location for the facilitating theprovision of the requested good to the customer.
 10. The serverprocessing system according to claim 8, wherein the server processingsystem is configured to: receive, from at least some of the merchantdevices, sales data; and update the inventory data of at least some ofthe merchants according to the sales data.
 11. The server processingsystem according to claim 10, wherein the server processing system isconfigured to: store the sales data in the data store; and receive, fromone of the merchant devices, a request for anonymous sales data for theone or more merchants located within the proximity of the respectivemerchant location; generate, using the sales data stored in the datastore and the proximity of the requesting merchant, anonymous salesdata; and transfer the anonymous sales data to the respective merchantdevice of the requesting merchant.
 12. The server processing systemaccording to claim 8, wherein the server processing system is configuredto: determine that multiple merchant locations, have the requested goodwhich is immediately deliverable; transfer, to the first merchantdevice, data indicative of the multiple merchants for presentation in amap interface; and receiving, from the first merchant device, aselection of the second merchant locations for facilitating theprovision of the request good.
 13. The server processing systemaccording to claim 8, wherein the server processing system is configuredto receive the proximity from the first merchant device, wherein theproximity is a distance defined by the first merchant from the firstmerchant location.
 14. The server processing system according to claim8, wherein the first merchant location and the second merchant locationare at different outlets of a single merchant.
 15. A non-transitorycomputer storage medium including executable instructions which, whenexecuted by one or more processors, configure a server processing systemfor managing inventory, wherein the server processing system isconfigured to: receive, from a plurality of merchant devices including afirst and second merchant device associated with a first and secondmerchant location respectively, inventory data and a plurality ofmerchant locations which are stored in a data store; receive, from thefirst merchant device, data indicative of a requested good that is notimmediately deliverable at the first merchant location; determine thatthe requested good is immediately deliverable at the second merchantlocation using the inventory data of one or more merchants that arelocated within a proximity of the first merchant location; and transfer,to the second merchant device, a request to facilitate provision of therequested good to a customer of the first merchant location.
 16. Thestorage medium according to claim 15, wherein the server processingsystem is configured to receive, from each merchant device, a merchantsale price for each good immediately deliverable by the respectivemerchant, wherein the customer of the first merchant location is chargedthe respective merchant price defined at the second merchant locationfor the facilitating the provision of the requested good to thecustomer.
 17. The storage medium according to claim 15, wherein theserver processing system is configured to: receive, from at least someof the merchant devices, sales data; and update the inventory data forat least some of the merchants according to the sales data.
 18. Thestorage medium according to claim 17, wherein the server processingsystem is configured to: store the sales data in the data store; andreceive, from one of the merchant devices, a request for anonymous salesdata for the one or more merchants located within the proximity of therespective merchant location; generate, using the sales data stored inthe data store and the proximity of the requesting merchant, anonymoussales data; and transfer the anonymous sales data to the respectivemerchant device of the requesting merchant.
 19. The storage mediumaccording to claim 15, wherein the server processing system isconfigured to: determine that multiple merchant locations, have therequested good which is immediately deliverable; transfer, to the firstmerchant device, data indicative of the multiple merchants forpresentation in a map interface; and receiving, from the first merchantdevice, a selection of the second merchant locations for facilitatingthe provision of the request good.
 20. The storage medium according toclaim 15, wherein the server processing system is configured to receivethe proximity from the first merchant device, wherein the proximity is adistance defined by the first merchant from the first merchant location.